﻿Public Partial Class Wfrm_Mantenedor_Tareas
    Inherits System.Web.UI.Page

    Public IdTarea As Integer
    Public ID_AGENDAMIENTO As Integer

    Protected Sub CargaTipoAgendamiento()
        CargaConcepto("Tipo_Agendamiento", cmb_TipoAgendamiento)
    End Sub

    Protected Sub CargaTipoTarea()
        CargaConcepto("Tipo_Tarea", cmb_tipo_Tarea)
    End Sub

    Protected Sub CargaDiasSemana()
        CargaConcepto("Dia_semana", cmb_agenda_diaSemana)
    End Sub

    Protected Sub CargaDiasMes()
        CargaConcepto("dia_mes", cmb_Agenda_Dia_Mes)
    End Sub

    Protected Sub CargaConcepto(ByVal Concepto As String, ByRef ComboBox As Anthem.DropDownList)
        Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_CONCEPTO"

        rp.AddParametro(Concepto)

        EXEC.ExecuteDatatable(rp)

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
            Else
                ComboBox.DataTextField = "S_DESCRIPCION"
                ComboBox.DataValueField = "S_CODIGO"
                ComboBox.DataSource = rp.DtTable
                ComboBox.DataBind()
                ComboBox.UpdateAfterCallBack = True
            End If
        End If
        ' Anthem.Manager.RegisterStartupScript(Me.GetType(), "ClientScript", "alert('prueba')", True)
    End Sub

    Protected Sub CargarHoras()
        CargaConcepto("Hora_ejecucion", cmb_Agenda_Horas)
        CargaConcepto("Hora_0_23", cmb_agenda_diaSemana_hora)
        CargaConcepto("Hora_0_23", cmb_agenda_fecha_hora)
        CargaConcepto("Hora_0_23", cmb_agenda_fecha_hora0)
        'Dim i As Integer

        'For i = 0 To 23
        '    cmb_Agenda_Horas.Items.Add(New ListItem(Right("0" & i, 2) & " Horas", i))
        'Next
    End Sub

    Protected Sub SaveTarea(ByVal NombreTarea As String, ByVal TipoAgendamiento As String, ByVal ListaCorreo As String, ByVal DLLTarea As String, ByVal ClaseTarea As String, ByVal MetodoTarea As String, ByVal SubjectError As String, ByVal SubjectOK As String, ByVal EmailOrigen As String, ByVal TipoTarea As String, ByVal RutaRespInterfaz As String)
        Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()

        rp.StoredProcedure = "SP_TASK_SAVE_TAREA"

        rp.AddParametro(IdTarea)
        rp.AddParametro(NombreTarea)
        rp.AddParametro(TipoAgendamiento)
        rp.AddParametro(ListaCorreo)
        rp.AddParametro(DLLTarea)
        rp.AddParametro(ClaseTarea)
        rp.AddParametro(MetodoTarea)
        rp.AddParametro(SubjectError)
        rp.AddParametro(SubjectOK)
        rp.AddParametro(EmailOrigen)
        rp.AddParametro(TipoTarea)
        rp.AddParametro(RutaRespInterfaz)



        EXEC.ExecuteScalar(rp)
        'EXEC.ExecuteNonQuery(rp)

        EXEC.Commit()
        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            'IdTarea = rp.Get_Value
            txt_id_tarea.Text = rp.Get_Value
            txt_id_tarea.UpdateAfterCallBack = True

            ImgGraba_Continua.Enabled = False
            ImgGraba_Continua.UpdateAfterCallBack = True
            txt_nombre_tarea.Enabled = False
            txt_nombre_tarea.UpdateAfterCallBack = True
            txt_lista_email.Enabled = False
            txt_lista_email.UpdateAfterCallBack = True
            txt_subject_error.Enabled = False
            txt_subject_error.UpdateAfterCallBack = True
            txt_subject_ok.Enabled = False
            txt_subject_ok.UpdateAfterCallBack = True
            txt_email_origen.Enabled = False
            txt_email_origen.UpdateAfterCallBack = True
            cmb_tipo_Tarea.Enabled = False
            cmb_tipo_Tarea.UpdateAfterCallBack = True
            ' txt_ruta_respaldo_interfaz.Enabled = False
            ' txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True
            cmb_TipoAgendamiento.Enabled = False
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
            txt_dll_tarea.Enabled = False
            txt_dll_tarea.UpdateAfterCallBack = True
            txt_clase_tarea.Enabled = False
            txt_clase_tarea.UpdateAfterCallBack = True
            txt_metodo_tarea.Enabled = False
            txt_metodo_tarea.UpdateAfterCallBack = True

            Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Datos Grabados Correctamente")
            'ClientScript.RegisterStartupScript(Me.GetType(), "ClientScript", "alert('Datos Grabados Correctamente')", True)
        End If
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Panel1.Visible = False
        Panel1.UpdateAfterCallBack = True
        txt_ruta_respaldo_interfaz.Visible = False
        txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True

        If Not IsPostBack Then

            Anthem.Manager.Register(Me)
            Label15.Enabled = False
            Label15.UpdateAfterCallBack = True

            txt_ruta_respaldo_interfaz.Visible = False
            txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True



            txt_ruta.Visible = False
            txt_ruta.UpdateAfterCallBack = True
            txt_id_tarea.Visible = False
            txt_id_tarea.UpdateAfterCallBack = True

            Panel1.Visible = False
            Panel1.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
            Calendar1.Visible = False
            Calendar1.UpdateAfterCallBack = True

            CargaTipoAgendamiento()
            CargaTipoTarea()
            CargaDiasSemana()
            CargarHoras()
            CargaDiasMes()

            txt_id_tarea.Text = "0"
            txt_id_tarea.UpdateAfterCallBack = True

            ' ImgBuscar_Tareas_Click(Nothing, Nothing)
        End If
    End Sub

    Protected Sub ImgBuscar_Tareas_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgBuscar_Tareas.Click
        Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_TAREAS"
        rp.AddParametro(Txt_Tarea_Buscar.Text.Trim)
        EXEC.ExecuteDatatable(rp)

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se Encontraron Tareas Asociadas")
            Else
                'Cargo la grilla
                DG_Tareas.DataSource = rp.DtTable
                DG_Tareas.DataBind()
                DG_Tareas.UpdateAfterCallBack = True
            End If
        End If
    End Sub

    Protected Sub ImgGraba_Continua_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgGraba_Continua.Click
        'Validaciones
        If txt_nombre_tarea.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Nombre de la Tarea")

            Exit Sub
        End If
        If cmb_TipoAgendamiento.SelectedIndex = 0 Then
            'Mensaje error
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Seleccione un tipo de Agendamiento")
            Exit Sub
        End If
        If txt_lista_email.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece alomenos un Email en Lista Email")

            Exit Sub
        End If
        If txt_dll_tarea.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece DDL de la Tarea")

            Exit Sub
        End If
        If txt_subject_error.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Mensaje de Error")

            Exit Sub
        End If
        If txt_clase_tarea.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Clase de Tarea")

            Exit Sub
        End If
        If txt_subject_ok.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Mensaje de OK")

            Exit Sub
        End If
        If txt_metodo_tarea.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Metodo de la Tarea")

            Exit Sub
        End If
        If txt_email_origen.Text.Trim = "" Then
            'Mensaje error

            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Ingrece Email Origen")

            Exit Sub

        Else

            If IsMail(txt_email_origen.Text) <> True Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Email Incorrecto")
                Exit Sub
            End If

        End If
        If cmb_tipo_Tarea.SelectedIndex = -1 Then
            'Mensaje error
            Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Seleccione tipo de Tarea")
            Exit Sub
        End If

        'If txt_ruta_respaldo_interfaz.Text.Trim = "" Then
        '    'Mensaje error
        '    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Ingrece Ruta de Interfaz")
        '    Exit Sub

        'End If

        'Si pasa las validaciones, inserta o actualiza
        SaveTarea(txt_nombre_tarea.Text.Trim, cmb_TipoAgendamiento.SelectedValue, txt_lista_email.Text.Trim, txt_dll_tarea.Text.Trim, txt_clase_tarea.Text.Trim, txt_metodo_tarea.Text.Trim, txt_subject_error.Text.Trim, txt_subject_ok.Text.Trim, txt_email_origen.Text.Trim, cmb_tipo_Tarea.SelectedValue, txt_ruta_respaldo_interfaz.Text.Trim)

        If cmb_TipoAgendamiento.SelectedValue = 1 Then
            Panel3.Visible = True
            Panel3.UpdateAfterCallBack = True
            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True

            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos

                    Dg_Agenda_DiaSemana.DataSource = Nothing
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True

                Else
                    'Cargo la grilla
                    Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                End If
            End If
            cmb_TipoAgendamiento.SelectedValue = 1
            cmb_TipoAgendamiento.UpdateAfterCallBack = True

        End If

        'If cmb_TipoAgendamiento.SelectedValue = 2 Then
        If cmb_TipoAgendamiento.SelectedValue = 2 Then
            Panel5.Visible = True
            Panel5.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
            cmb_TipoAgendamiento.SelectedValue = 2
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
        End If

        'If cmb_TipoAgendamiento.SelectedValue = 3 Then
        If cmb_TipoAgendamiento.SelectedValue = 3 Then
            Panel6.Visible = True
            Panel6.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            cmb_TipoAgendamiento.SelectedValue = 3
            cmb_TipoAgendamiento.UpdateAfterCallBack = True

        End If
        'If cmb_TipoAgendamiento.SelectedValue = 4 Then
        If cmb_TipoAgendamiento.SelectedValue = 4 Then
            Panel4.Visible = True
            Panel4.UpdateAfterCallBack = True

            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True


            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Dg_Agenda_fecha.DataSource = Nothing
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                Else
                    'Cargo la grilla
                    Dg_Agenda_fecha.DataSource = rp.DtTable
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                End If
            End If
            cmb_TipoAgendamiento.SelectedValue = 4
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
        End If

        If cmb_TipoAgendamiento.SelectedValue = 1 Then
            Panel3.Visible = True
            Panel3.UpdateAfterCallBack = True
            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True

            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
            rp.AddParametro(txt_id_tarea.Text)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos

                    Dg_Agenda_DiaSemana.DataSource = Nothing
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True

                Else
                    'Cargo la grilla
                    Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                End If
            End If
            cmb_TipoAgendamiento.SelectedValue = 1
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
        End If

        'If cmb_TipoAgendamiento.SelectedValue = 2 Then
        If cmb_TipoAgendamiento.SelectedValue = 2 Then
            Panel5.Visible = True
            Panel5.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
            cmb_TipoAgendamiento.SelectedValue = 2
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
        End If

        'If cmb_TipoAgendamiento.SelectedValue = 3 Then
        If cmb_TipoAgendamiento.SelectedValue = 3 Then
            Panel6.Visible = True
            Panel6.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            cmb_TipoAgendamiento.SelectedValue = 3
            cmb_TipoAgendamiento.UpdateAfterCallBack = True

        End If
        'If cmb_TipoAgendamiento.SelectedValue = 4 Then
        If cmb_TipoAgendamiento.SelectedValue = 4 Then
            Panel4.Visible = True
            Panel4.UpdateAfterCallBack = True

            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True


            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
            rp.AddParametro(txt_id_tarea.Text)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Dg_Agenda_fecha.DataSource = Nothing
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                Else
                    'Cargo la grilla
                    Dg_Agenda_fecha.DataSource = rp.DtTable
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                End If
            End If
            cmb_TipoAgendamiento.SelectedValue = 4
            cmb_TipoAgendamiento.UpdateAfterCallBack = True
        End If
    End Sub

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_CARGA_TAREA_AGENDADA"
        rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim)
        EXEC.ExecuteDatatable(rp)

        txt_id_tarea.Text = DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim
        txt_id_tarea.UpdateAfterCallBack = True
        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                'Mensaje No hay datos
                Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
            Else
                'Cargo los datos

                txt_nombre_tarea.Text = rp.DtTable.Rows(0)(0)
                txt_nombre_tarea.UpdateAfterCallBack = True
                txt_subject_error.Text = rp.DtTable.Rows(0)(1)
                txt_subject_error.UpdateAfterCallBack = True
                txt_subject_ok.Text = rp.DtTable.Rows(0)(2)
                txt_subject_ok.UpdateAfterCallBack = True
                txt_email_origen.Text = rp.DtTable.Rows(0)(3)
                txt_email_origen.UpdateAfterCallBack = True
                cmb_tipo_Tarea.SelectedValue = rp.DtTable.Rows(0)(4)
                cmb_tipo_Tarea.UpdateAfterCallBack = True

                If rp.DtTable.Rows(0)(5) = 0 Then
                    cmb_TipoAgendamiento.SelectedValue = 0
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True
                Else
                    cmb_TipoAgendamiento.SelectedValue = rp.DtTable.Rows(0)(5)
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True
                End If
                txt_dll_tarea.Text = rp.DtTable.Rows(0)(6)
                txt_dll_tarea.UpdateAfterCallBack = True
                txt_clase_tarea.Text = rp.DtTable.Rows(0)(7)
                txt_clase_tarea.UpdateAfterCallBack = True
                txt_metodo_tarea.Text = rp.DtTable.Rows(0)(8)
                txt_metodo_tarea.UpdateAfterCallBack = True
                txt_ruta_respaldo_interfaz.Text = rp.DtTable.Rows(0)(9)
                txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True
                txt_lista_email.Text = rp.DtTable.Rows(0)(10)
                txt_lista_email.UpdateAfterCallBack = True

                ImgGraba_Continua.Enabled = True
                ImgGraba_Continua.UpdateAfterCallBack = True
                txt_nombre_tarea.Enabled = True
                txt_nombre_tarea.UpdateAfterCallBack = True
                txt_lista_email.Enabled = True
                txt_lista_email.UpdateAfterCallBack = True
                txt_subject_error.Enabled = True
                txt_subject_error.UpdateAfterCallBack = True
                txt_subject_ok.Enabled = True
                txt_subject_ok.UpdateAfterCallBack = True
                txt_email_origen.Enabled = True
                txt_email_origen.UpdateAfterCallBack = True
                cmb_tipo_Tarea.Enabled = True
                cmb_tipo_Tarea.UpdateAfterCallBack = True
                '  txt_ruta_respaldo_interfaz.Enabled = True
                ' txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True
                cmb_TipoAgendamiento.Enabled = True
                cmb_TipoAgendamiento.UpdateAfterCallBack = True
                txt_dll_tarea.Enabled = True
                txt_dll_tarea.UpdateAfterCallBack = True
                txt_clase_tarea.Enabled = True
                txt_clase_tarea.UpdateAfterCallBack = True
                txt_metodo_tarea.Enabled = True
                txt_metodo_tarea.UpdateAfterCallBack = True

            End If
        End If

        VISUALIZADOR_PANELES()

        rp.Dispose()
        EXEC.Dispose()

        ' Carga Dia Semana
        If cmb_TipoAgendamiento.SelectedValue = 1 Then

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TAREA_AGENDAMIENTO"
            rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim)
            rp.AddParametro(cmb_TipoAgendamiento.SelectedValue)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Agendamiento")
                Else
                    'Cargo los datos
                    cmb_agenda_diaSemana.SelectedValue = rp.DtTable.Rows(0)(0)
                    cmb_agenda_diaSemana.UpdateAfterCallBack = True
                    '  cmb_agenda_diaSemana_hora.SelectedIndex = rp.DtTable.Rows(0)(1)
                    '  cmb_agenda_diaSemana_hora.UpdateAfterCallBack = True

                End If
            End If

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    'Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Datos")
                    Dg_Agenda_DiaSemana.DataSource = Nothing
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                Else
                    'Cargo la grilla
                    Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                End If
            End If
            ' ID_AGENDAMIENTO = cmb_TipoAgendamiento.SelectedValue
        End If

        ' Carga hora
        If cmb_TipoAgendamiento.SelectedValue = 2 Then

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TAREA_AGENDAMIENTO"
            rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim)
            rp.AddParametro(cmb_TipoAgendamiento.SelectedValue)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Agendamiento")
                Else
                    'Cargo los datos
                    'cmb_Agenda_Horas.SelectedIndex = rp.DtTable.Rows(0)(0)
                    cmb_Agenda_Horas.SelectedValue = rp.DtTable.Rows(0)(0)
                    cmb_Agenda_Horas.UpdateAfterCallBack = True
                End If
            End If
            'ID_AGENDAMIENTO = cmb_TipoAgendamiento.SelectedValue
        End If

        ' Carga dia mes
        If cmb_TipoAgendamiento.SelectedValue = 3 Then

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TAREA_AGENDAMIENTO"
            rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim)
            rp.AddParametro(cmb_TipoAgendamiento.SelectedValue)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Agendamiento")
                Else
                    'Cargo los datos
                    cmb_Agenda_Dia_Mes.SelectedValue = rp.DtTable.Rows(0)(0)
                    cmb_Agenda_Dia_Mes.UpdateAfterCallBack = True
                    cmb_agenda_fecha_hora0.SelectedValue = rp.DtTable.Rows(0)(1)
                    cmb_agenda_fecha_hora0.UpdateAfterCallBack = True
                End If
            End If
            'ID_AGENDAMIENTO = cmb_TipoAgendamiento.SelectedValue
        End If

        ' Carga fecha
        If cmb_TipoAgendamiento.SelectedValue = 4 Then

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TAREA_AGENDAMIENTO"
            rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text.Trim)
            rp.AddParametro(cmb_TipoAgendamiento.SelectedValue)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Agendamiento")
                Else
                    'Cargo los datos
                    'txt_Agenda_Fecha.Text = rp.DtTable.Rows(0)(0)
                    'txt_Agenda_Fecha.UpdateAfterCallBack = True
                    cmb_agenda_fecha_hora.SelectedValue = rp.DtTable.Rows(0)(1)
                    cmb_Agenda_Dia_Mes.UpdateAfterCallBack = True
                End If
            End If

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    'Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Datos")
                    Dg_Agenda_fecha.DataSource = Nothing
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                Else
                    'Cargo la grilla
                    Dg_Agenda_fecha.DataSource = rp.DtTable
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True
                End If
            End If
            'ID_AGENDAMIENTO = cmb_TipoAgendamiento.SelectedValue
        End If
    End Sub

    Protected Sub cmb_TipoAgendamiento_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cmb_TipoAgendamiento.SelectedIndexChanged

        If txt_id_tarea.Text = "" Or txt_id_tarea.Text = 0 Then
            ' Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin ID Relacionado")
            Exit Sub
        Else
            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TIPO_AGENDAMIENTO"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    'Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
                    ID_AGENDAMIENTO = cmb_TipoAgendamiento.SelectedValue

                Else
                    'Cargo la grilla
                    ID_AGENDAMIENTO = rp.DtTable.Rows(0)(0)
                End If
            End If


            'If cmb_TipoAgendamiento.SelectedValue = 1 Then

            If ID_AGENDAMIENTO = 1 Then
                Panel3.Visible = True
                Panel3.UpdateAfterCallBack = True
                Panel4.Visible = False
                Panel4.UpdateAfterCallBack = True
                Panel5.Visible = False
                Panel5.UpdateAfterCallBack = True
                Panel6.Visible = False
                Panel6.UpdateAfterCallBack = True

                EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                rp = New DotNetResponse.SQLPersistence()
                rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
                rp.AddParametro(txt_id_tarea.Text.Trim)
                EXEC.ExecuteDatatable(rp)

                If rp.Errores Then
                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                Else
                    If Not rp.TieneDatos Then
                        'Mensaje No hay datos
                        Dg_Agenda_DiaSemana.DataSource = Nothing
                        Dg_Agenda_DiaSemana.DataBind()
                        Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                    Else
                        'Cargo la grilla
                        Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                        Dg_Agenda_DiaSemana.DataBind()
                        Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                    End If
                End If
                cmb_TipoAgendamiento.SelectedValue = 1
                cmb_TipoAgendamiento.UpdateAfterCallBack = True
            End If

            'If cmb_TipoAgendamiento.SelectedValue = 2 Then
            If ID_AGENDAMIENTO = 2 Then
                Panel5.Visible = True
                Panel5.UpdateAfterCallBack = True

                Panel4.Visible = False
                Panel4.UpdateAfterCallBack = True
                Panel3.Visible = False
                Panel3.UpdateAfterCallBack = True
                Panel6.Visible = False
                Panel6.UpdateAfterCallBack = True
                cmb_TipoAgendamiento.SelectedValue = 2
                cmb_TipoAgendamiento.UpdateAfterCallBack = True
            End If

            'If cmb_TipoAgendamiento.SelectedValue = 3 Then
            If ID_AGENDAMIENTO = 3 Then
                Panel6.Visible = True
                Panel6.UpdateAfterCallBack = True

                Panel4.Visible = False
                Panel4.UpdateAfterCallBack = True
                Panel5.Visible = False
                Panel5.UpdateAfterCallBack = True
                Panel3.Visible = False
                Panel3.UpdateAfterCallBack = True
                cmb_TipoAgendamiento.SelectedValue = 3
                cmb_TipoAgendamiento.UpdateAfterCallBack = True

            End If
            'If cmb_TipoAgendamiento.SelectedValue = 4 Then
            If ID_AGENDAMIENTO = 4 Then
                Panel4.Visible = True
                Panel4.UpdateAfterCallBack = True

                Panel3.Visible = False
                Panel3.UpdateAfterCallBack = True
                Panel5.Visible = False
                Panel5.UpdateAfterCallBack = True
                Panel6.Visible = False
                Panel6.UpdateAfterCallBack = True


                EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                rp = New DotNetResponse.SQLPersistence()
                rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
                rp.AddParametro(txt_id_tarea.Text.Trim)
                EXEC.ExecuteDatatable(rp)

                If rp.Errores Then
                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                Else
                    If Not rp.TieneDatos Then
                        'Mensaje No hay datos
                        Dg_Agenda_fecha.DataSource = Nothing
                        Dg_Agenda_fecha.DataBind()
                        Dg_Agenda_fecha.UpdateAfterCallBack = True
                    Else
                        'Cargo la grilla
                        Dg_Agenda_fecha.DataSource = rp.DtTable
                        Dg_Agenda_fecha.DataBind()
                        Dg_Agenda_fecha.UpdateAfterCallBack = True
                    End If
                End If
                cmb_TipoAgendamiento.SelectedValue = 4
                cmb_TipoAgendamiento.UpdateAfterCallBack = True
            End If



            If ID_AGENDAMIENTO = 0 Then

                If cmb_TipoAgendamiento.SelectedValue = 1 Then
                    Panel3.Visible = True
                    Panel3.UpdateAfterCallBack = True
                    Panel4.Visible = False
                    Panel4.UpdateAfterCallBack = True
                    Panel5.Visible = False
                    Panel5.UpdateAfterCallBack = True
                    Panel6.Visible = False
                    Panel6.UpdateAfterCallBack = True

                    EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()
                    rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
                    rp.AddParametro(txt_id_tarea.Text)
                    EXEC.ExecuteDatatable(rp)

                    If rp.Errores Then
                        Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    Else
                        If Not rp.TieneDatos Then
                            'Mensaje No hay datos
                            Dg_Agenda_DiaSemana.DataSource = Nothing
                            Dg_Agenda_DiaSemana.DataBind()
                            Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                        Else
                            'Cargo la grilla
                            Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                            Dg_Agenda_DiaSemana.DataBind()
                            Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
                        End If
                    End If
                    cmb_TipoAgendamiento.SelectedValue = 1
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True
                End If

                'If cmb_TipoAgendamiento.SelectedValue = 2 Then
                If cmb_TipoAgendamiento.SelectedValue = 2 Then
                    Panel5.Visible = True
                    Panel5.UpdateAfterCallBack = True

                    Panel4.Visible = False
                    Panel4.UpdateAfterCallBack = True
                    Panel3.Visible = False
                    Panel3.UpdateAfterCallBack = True
                    Panel6.Visible = False
                    Panel6.UpdateAfterCallBack = True
                    cmb_TipoAgendamiento.SelectedValue = 2
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True
                End If

                'If cmb_TipoAgendamiento.SelectedValue = 3 Then
                If cmb_TipoAgendamiento.SelectedValue = 3 Then
                    Panel6.Visible = True
                    Panel6.UpdateAfterCallBack = True

                    Panel4.Visible = False
                    Panel4.UpdateAfterCallBack = True
                    Panel5.Visible = False
                    Panel5.UpdateAfterCallBack = True
                    Panel3.Visible = False
                    Panel3.UpdateAfterCallBack = True
                    cmb_TipoAgendamiento.SelectedValue = 3
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True

                End If
                If cmb_TipoAgendamiento.SelectedValue = 4 Then
                    'If ID_AGENDAMIENTO = 4 Then
                    Panel4.Visible = True
                    Panel4.UpdateAfterCallBack = True

                    Panel3.Visible = False
                    Panel3.UpdateAfterCallBack = True
                    Panel5.Visible = False
                    Panel5.UpdateAfterCallBack = True
                    Panel6.Visible = False
                    Panel6.UpdateAfterCallBack = True


                    EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()
                    rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
                    rp.AddParametro(txt_id_tarea.Text)
                    EXEC.ExecuteDatatable(rp)

                    If rp.Errores Then
                        Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    Else
                        If Not rp.TieneDatos Then
                            'Mensaje No hay datos
                            Dg_Agenda_fecha.DataSource = Nothing
                            Dg_Agenda_fecha.DataBind()
                            Dg_Agenda_fecha.UpdateAfterCallBack = True
                        Else
                            'Cargo la grilla
                            Dg_Agenda_fecha.DataSource = rp.DtTable
                            Dg_Agenda_fecha.DataBind()
                            Dg_Agenda_fecha.UpdateAfterCallBack = True
                        End If
                    End If
                    cmb_TipoAgendamiento.SelectedValue = 4
                    cmb_TipoAgendamiento.UpdateAfterCallBack = True
                End If
            End If

        End If

    End Sub

    Protected Sub ImgGraba_AgeDiaSemana_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgGraba_AgeDiaSemana.Click
        Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        If txt_id_tarea.Text.Trim <> "" Then

            If cmb_agenda_diaSemana.SelectedIndex = -1 Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Error en ingreso de datos")
                Exit Sub
            Else

                If cmb_agenda_diaSemana_hora.SelectedIndex = -1 Then
                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Error en ingreso de datos")
                    Exit Sub
                Else


                    EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()

                    rp.StoredProcedure = "SP_TASK_SAVE_AGENDAMIENTO_POR_DIA"

                    rp.AddParametro(txt_id_tarea.Text.Trim)
                    rp.AddParametro(cmb_agenda_diaSemana.SelectedValue)
                    rp.AddParametro(cmb_agenda_diaSemana_hora.SelectedItem.Text.Trim)

                    ' EXEC.ExecuteScalar(rp)
                    EXEC.ExecuteNonQuery(rp)
                    EXEC.Commit()
                    If rp.Errores Then
                        Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                        'rp.MensajeError
                        Exit Sub
                    End If

                End If
            End If

            rp.Dispose()
            EXEC.Dispose()

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
                Else
                    'Cargo la grilla
                    Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                    Dg_Agenda_DiaSemana.DataBind()
                    Dg_Agenda_DiaSemana.UpdateAfterCallBack = True


                    EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()

                    rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_DIA_SEMANA_GRILLA"
                    rp.AddParametro(txt_id_tarea.Text)
                    rp.AddParametro(CInt(1))

                    EXEC.ExecuteNonQuery(rp)
                    EXEC.Commit()

                    If rp.Errores Then
                        'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    Else
                        'IdTarea = rp.Get_Value
                    End If

                    rp.Dispose()
                    EXEC.Dispose()

                End If
            End If
        Else
            Exit Sub
        End If

    End Sub

    Protected Sub LinkButton3_Click(ByVal sender As Object, ByVal e As EventArgs)

        Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_UPDATE_ESTADO_TAREA"
        rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(0).Text)
        rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(5).Text)
        EXEC.ExecuteNonQuery(rp)
        EXEC.Commit()

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else


            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_TAREAS"
            rp.AddParametro(Txt_Tarea_Buscar.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    ' Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Datos")
                Else
                    'Cargo la grilla
                    DG_Tareas.DataSource = rp.DtTable
                    DG_Tareas.DataBind()
                    DG_Tareas.UpdateAfterCallBack = True

                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Actualizado Correctamente")
                End If
            End If
        End If
        'ImgBuscar_Tareas_Click()

    End Sub

    Protected Sub ImgGraba_AgeFecha_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgGraba_AgeFecha.Click

        ' Dim fecha As String


        Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        If txt_id_tarea.Text.Trim <> "" Then
            If txt_Agenda_Fecha.Text = "" Then

                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Seleccione una fecha")

                Exit Sub
            Else

                If cmb_agenda_fecha_hora.SelectedIndex = -1 Then

                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, "Seleccione una hora")

                    Exit Sub
                Else

                    EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()

                    rp.StoredProcedure = "SP_TASK_SAVE_AGENDAMIENTO_POR_FECHA"
                    Dim fecha As String = CDate(txt_Agenda_Fecha.Text.Trim).ToString("yyyyMMdd")
                    rp.AddParametro(txt_id_tarea.Text.Trim)
                    rp.AddParametro(fecha)

                    rp.AddParametro(cmb_agenda_fecha_hora.SelectedValue)

                    ' EXEC.ExecuteScalar(rp)
                    EXEC.ExecuteNonQuery(rp)
                    EXEC.Commit()
                    If rp.Errores Then
                        Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    Else
                        'IdTarea = rp.Get_Value
                    End If
                End If
            End If

            rp.Dispose()
            EXEC.Dispose()

            EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            rp = New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
            rp.AddParametro(txt_id_tarea.Text.Trim)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
                Else
                    'Cargo la grilla
                    Dg_Agenda_fecha.DataSource = rp.DtTable
                    Dg_Agenda_fecha.DataBind()
                    Dg_Agenda_fecha.UpdateAfterCallBack = True


                    EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                    rp = New DotNetResponse.SQLPersistence()

                    rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_FECHA_GRILLA"
                    rp.AddParametro(txt_id_tarea.Text)
                    rp.AddParametro(CInt(4))

                    EXEC.ExecuteNonQuery(rp)
                    EXEC.Commit()

                    If rp.Errores Then
                        'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    Else
                        'IdTarea = rp.Get_Value
                    End If

                    rp.Dispose()
                    EXEC.Dispose()

                End If
            End If
            txt_Agenda_Fecha.Text = ""
            txt_Agenda_Fecha.UpdateAfterCallBack = True
        Else
            Exit Sub
        End If

    End Sub

    Protected Sub ImgGraba_AgeHoras_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgGraba_AgeHoras.Click
        If txt_id_tarea.Text.Trim <> "" Then
            If cmb_Agenda_Horas.SelectedIndex = -1 Then
                ClientScript.RegisterStartupScript(Me.GetType(), "ClientScript", "alert('error')", True)
                Exit Sub
            Else
                Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                Dim rp As New DotNetResponse.SQLPersistence()

                rp.StoredProcedure = "SP_TASK_SAVE_AGENDAMIENTO_POR_HORAS"

                rp.AddParametro(txt_id_tarea.Text.Trim)
                rp.AddParametro(cmb_Agenda_Horas.SelectedValue)
                'rp.AddParametro(cmb_agenda_fecha_hora.SelectedValue)

                ' EXEC.ExecuteScalar(rp)
                EXEC.ExecuteNonQuery(rp)
                EXEC.Commit()
                If rp.Errores Then
                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                    ' rp.MensajeError
                Else

                    If ID_AGENDAMIENTO = 0 Then
                        'IdTarea = rp.Get_Value
                        EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                        rp = New DotNetResponse.SQLPersistence()

                        rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_HORA"
                        rp.AddParametro(txt_id_tarea.Text)
                        rp.AddParametro(CInt(2))

                        EXEC.ExecuteNonQuery(rp)
                        EXEC.Commit()

                        If rp.Errores Then
                            'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                        Else
                            'IdTarea = rp.Get_Value
                            Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Agendado Correctamente")
                        End If

                        rp.Dispose()
                        EXEC.Dispose()
                    End If
                    End If

            End If
        Else
            Exit Sub
        End If
    End Sub

    Protected Sub ImgGraba_AgeDiaMes_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgGraba_AgeDiaMes.Click
        If txt_id_tarea.Text.Trim <> "" Then
            If cmb_Agenda_Dia_Mes.SelectedIndex = -1 Then
                ClientScript.RegisterStartupScript(Me.GetType(), "ClientScript", "alert('error')", True)
                Exit Sub
            Else
                Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                Dim rp As New DotNetResponse.SQLPersistence()

                rp.StoredProcedure = "SP_TASK_SAVE_AGENDAMIENTO_POR_DIA_MES"

                rp.AddParametro(txt_id_tarea.Text.Trim)
                rp.AddParametro(cmb_Agenda_Dia_Mes.SelectedValue)
                rp.AddParametro(cmb_agenda_fecha_hora0.SelectedItem.Text.Trim) 'Txt_Hora_Dia_Mes.Text.Trim)

                ' EXEC.ExecuteScalar(rp)
                EXEC.ExecuteNonQuery(rp)
                EXEC.Commit()
                If rp.Errores Then
                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                Else
                    'ID_AGENDAMIENTO = rp.Get_Value


                    If ID_AGENDAMIENTO = 0 Then
                        'IdTarea = rp.Get_Value
                        EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                        rp = New DotNetResponse.SQLPersistence()

                        rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_DIA_MES"
                        rp.AddParametro(txt_id_tarea.Text)
                        rp.AddParametro(CInt(3))

                        EXEC.ExecuteNonQuery(rp)
                        EXEC.Commit()

                        If rp.Errores Then
                            'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                        Else
                            'IdTarea = rp.Get_Value
                            ID_AGENDAMIENTO = cmb_Agenda_Dia_Mes.SelectedValue
                            Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Agendado Correctamente")
                        End If

                        rp.Dispose()
                        EXEC.Dispose()
                    End If


                End If
            End If
        Else
            Exit Sub
        End If
    End Sub

    Protected Sub VISUALIZADOR_PANELES()
        If cmb_TipoAgendamiento.SelectedValue = 0 Then
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
        End If

        If cmb_TipoAgendamiento.SelectedValue = 1 Then
            Panel3.Visible = True
            Panel3.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
        End If

        If cmb_TipoAgendamiento.SelectedValue = 2 Then
            Panel5.Visible = True
            Panel5.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True
        End If
        If cmb_TipoAgendamiento.SelectedValue = 3 Then
            Panel6.Visible = True
            Panel6.UpdateAfterCallBack = True

            Panel4.Visible = False
            Panel4.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
        End If
        If cmb_TipoAgendamiento.SelectedValue = 4 Then
            Panel4.Visible = True
            Panel4.UpdateAfterCallBack = True

            Panel3.Visible = False
            Panel3.UpdateAfterCallBack = True
            Panel5.Visible = False
            Panel5.UpdateAfterCallBack = True
            Panel6.Visible = False
            Panel6.UpdateAfterCallBack = True

        End If
        'cmb_TipoAgendamiento_SelectedIndexChanged(cmb_TipoAgendamiento.SelectedValue)
    End Sub

    Protected Sub ImgBuscar_Tareas0_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()

        rp.StoredProcedure = "SP_TASK_DELETE_TAREA_DIA_SEMANA"
        rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(2).Text.Trim)
        rp.AddParametro(1)

        EXEC.ExecuteNonQuery(rp)
        EXEC.Commit()
        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            'IdTarea = rp.Get_Value
        End If

        rp.Dispose()
        EXEC.Dispose()

        EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        rp = New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_GRILLA_DIA_SEMANA"
        rp.AddParametro(txt_id_tarea.Text.Trim)
        EXEC.ExecuteDatatable(rp)

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                'Mensaje No hay datos
                ' Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Datos")

                Dg_Agenda_DiaSemana.DataSource = Nothing
                Dg_Agenda_DiaSemana.DataBind()
                Dg_Agenda_DiaSemana.UpdateAfterCallBack = True

                EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                rp = New DotNetResponse.SQLPersistence()

                rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_DIA_SEMANA"
                rp.AddParametro(txt_id_tarea.Text)
                rp.AddParametro(CInt(0))

                EXEC.ExecuteNonQuery(rp)
                EXEC.Commit()

                If rp.Errores Then
                    'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                Else
                    'IdTarea = rp.Get_Value
                End If

                rp.Dispose()
                EXEC.Dispose()


            Else
                'Cargo la grilla
                Dg_Agenda_DiaSemana.DataSource = rp.DtTable
                Dg_Agenda_DiaSemana.DataBind()
                Dg_Agenda_DiaSemana.UpdateAfterCallBack = True
            End If
        End If


    End Sub

    Protected Sub ImgBuscar_Tareas2_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim EXEC As New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()

        rp.StoredProcedure = "SP_TASK_DELETE_TAREA_DIA_SEMANA"
        rp.AddParametro(DirectCast(sender.parent.parent, DataGridItem).Cells(2).Text.Trim)
        rp.AddParametro(2)

        EXEC.ExecuteNonQuery(rp)
        EXEC.Commit()
        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            'IdTarea = rp.Get_Value
        End If


        rp.Dispose()
        EXEC.Dispose()

        EXEC = New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        rp = New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_GRILLA_FECHA"
        rp.AddParametro(txt_id_tarea.Text.Trim)
        EXEC.ExecuteDatatable(rp)

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                'Mensaje No hay datos
                'Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "Sin Datos")

                Dg_Agenda_fecha.DataSource = Nothing
                Dg_Agenda_fecha.DataBind()
                Dg_Agenda_fecha.UpdateAfterCallBack = True

                '***
                EXEC = New DotNetDAL.SQLPersistence(True, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
                rp = New DotNetResponse.SQLPersistence()

                rp.StoredProcedure = "SP_TASK_UPDATE_TAREA_FECHA"
                rp.AddParametro(txt_id_tarea.Text)
                rp.AddParametro(CInt(0))

                EXEC.ExecuteNonQuery(rp)
                EXEC.Commit()

                If rp.Errores Then
                    'Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
                Else
                    'IdTarea = rp.Get_Value
                End If

                rp.Dispose()
                EXEC.Dispose()

            Else
                'Cargo la grilla
                Dg_Agenda_fecha.DataSource = rp.DtTable
                Dg_Agenda_fecha.DataBind()
                Dg_Agenda_fecha.UpdateAfterCallBack = True
            End If
        End If
    End Sub

    Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
        If cmb_TipoAgendamiento.SelectedIndex <> 0 Then
            Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
            Dim rp As New DotNetResponse.SQLPersistence()
            rp.StoredProcedure = "SP_TASK_GET_OPCIONES"
            rp.AddParametro("Tipo_Tarea")
            rp.AddParametro(cmb_tipo_Tarea.SelectedValue)
            EXEC.ExecuteDatatable(rp)

            If rp.Errores Then
                Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
            Else
                If Not rp.TieneDatos Then
                    'Mensaje No hay datos
                    Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
                Else
                    txt_ruta.Text = rp.DtTable.Rows(0)(0)
                    txt_ruta.UpdateAfterCallBack = True


                    Session("id_tarea") = txt_id_tarea.Text

                    Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, txt_ruta.Text & "?id_tarea=" & txt_id_tarea.Text)

                    Response.Redirect(txt_ruta.Text & "?id_tarea=" & txt_id_tarea.Text)

                End If
            End If
        End If
    End Sub

    Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Calendar1.SelectionChanged

        Dim dia, mes, ano As String
        Dim l_dia, l_mes As Integer


        txt_Agenda_Fecha.Text = FormatDateTime(Calendar1.SelectedDate, 2)

        dia = Day(txt_Agenda_Fecha.Text)
        l_dia = Len(Trim(dia))
        If l_dia = 1 Then
            dia = ("0" & dia)
        End If
        mes = Month(txt_Agenda_Fecha.Text)
        l_mes = Len(Trim(mes))
        If l_mes = 1 Then
            mes = ("0" & mes)
        End If
        ano = Year(txt_Agenda_Fecha.Text)

        txt_Agenda_Fecha.Text = dia & "/" & mes & "/" & ano

        txt_Agenda_Fecha.UpdateAfterCallBack = True
        Calendar1.Visible = False
        Calendar1.UpdateAfterCallBack = True
        ' FormatDateTime(ahora, 2)
    End Sub

    Protected Sub ImageButton2_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton2.Click
        Calendar1.Visible = True
        Calendar1.UpdateAfterCallBack = True
    End Sub

    Private Sub DG_Tareas_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DG_Tareas.PageIndexChanged
        DG_Tareas.CurrentPageIndex = e.NewPageIndex
        Dim EXEC As New DotNetDAL.SQLPersistence(False, "cnn", DotNetDAL.SQLPersistence.Provider.SQLCLIENT)
        Dim rp As New DotNetResponse.SQLPersistence()
        rp.StoredProcedure = "SP_TASK_GET_TAREAS"
        rp.AddParametro(Txt_Tarea_Buscar.Text.Trim)
        EXEC.ExecuteDatatable(rp)

        If rp.Errores Then
            Cls_Mensaje.MsgError(img_mensaje, lbl_mensaje, Panel1, rp.MensajeError)
        Else
            If Not rp.TieneDatos Then
                Cls_Mensaje.MsgInformativo(img_mensaje, lbl_mensaje, Panel1, "No se encontraron datos")
            Else
                'Cargo la grilla
                DG_Tareas.DataSource = rp.DtTable
                DG_Tareas.DataBind()
                DG_Tareas.UpdateAfterCallBack = True
            End If
        End If

    End Sub


    'Protected Sub ImageButton3_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton3.Click

    '    ImgGraba_Continua.Enabled = True
    '    ImgGraba_Continua.UpdateAfterCallBack = True
    '    txt_id_tarea.Text = 0

    '    txt_nombre_tarea.Text = ""
    '    txt_nombre_tarea.Enabled = True
    '    txt_nombre_tarea.UpdateAfterCallBack = True
    '    txt_lista_email.Text = ""
    '    txt_lista_email.Enabled = True
    '    txt_lista_email.UpdateAfterCallBack = True
    '    txt_subject_error.Text = ""
    '    txt_subject_error.Enabled = True
    '    txt_subject_error.UpdateAfterCallBack = True
    '    txt_subject_ok.Text = ""
    '    txt_subject_ok.Enabled = True
    '    txt_subject_ok.UpdateAfterCallBack = True
    '    txt_email_origen.Text = ""
    '    txt_email_origen.Enabled = True
    '    txt_email_origen.UpdateAfterCallBack = True
    '    cmb_tipo_Tarea.SelectedIndex = 0
    '    cmb_tipo_Tarea.Enabled = True
    '    cmb_tipo_Tarea.UpdateAfterCallBack = True
    '    txt_ruta_respaldo_interfaz.Text = ""
    '    txt_ruta_respaldo_interfaz.Enabled = True
    '    txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True
    '    cmb_TipoAgendamiento.SelectedIndex = -1
    '    cmb_TipoAgendamiento.Enabled = True
    '    cmb_TipoAgendamiento.UpdateAfterCallBack = True
    '    txt_dll_tarea.Text = ""
    '    txt_dll_tarea.Enabled = True
    '    txt_dll_tarea.UpdateAfterCallBack = True
    '    txt_clase_tarea.Text = ""
    '    txt_clase_tarea.Enabled = True
    '    txt_clase_tarea.UpdateAfterCallBack = True
    '    txt_metodo_tarea.Text = ""
    '    txt_metodo_tarea.Enabled = True
    '    txt_metodo_tarea.UpdateAfterCallBack = True

    '    Panel1.Visible = False
    '    Panel1.UpdateAfterCallBack = True
    '    Panel3.Visible = False
    '    Panel3.UpdateAfterCallBack = True
    '    Panel4.Visible = False
    '    Panel4.UpdateAfterCallBack = True
    '    Panel5.Visible = False
    '    Panel5.UpdateAfterCallBack = True
    '    Panel6.Visible = False
    '    Panel6.UpdateAfterCallBack = True

    'End Sub
    Public Shared Function IsMail(ByVal p_email As String) As Boolean
        Dim l_reg As New System.Text.RegularExpressions.Regex("^(([^<;>;()[\]\\.,;:\s@\""]+" & _
        "(\.[^<;>;()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@" & _
        "((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" & _
        "\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+" & _
        "[a-zA-Z]{2,}))$")
        Return (l_reg.IsMatch(p_email))
    End Function

    Protected Sub LinkButton2_Click(ByVal sender As Object, ByVal e As EventArgs)
        Response.Redirect("Efrm_Historial_Ejecucion_Tareas.aspx?ID_tarea=" & txt_id_tarea.Text.Trim)
    End Sub


    Protected Sub ImageButton3_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton3.Click

        ImgGraba_Continua.Enabled = True
        ImgGraba_Continua.UpdateAfterCallBack = True
        txt_id_tarea.Text = 0

        txt_nombre_tarea.Text = ""
        txt_nombre_tarea.Enabled = True
        txt_nombre_tarea.UpdateAfterCallBack = True
        txt_lista_email.Text = ""
        txt_lista_email.Enabled = True
        txt_lista_email.UpdateAfterCallBack = True
        txt_subject_error.Text = ""
        txt_subject_error.Enabled = True
        txt_subject_error.UpdateAfterCallBack = True
        txt_subject_ok.Text = ""
        txt_subject_ok.Enabled = True
        txt_subject_ok.UpdateAfterCallBack = True
        txt_email_origen.Text = ""
        txt_email_origen.Enabled = True
        txt_email_origen.UpdateAfterCallBack = True
        cmb_tipo_Tarea.SelectedIndex = 0
        cmb_tipo_Tarea.Enabled = True
        cmb_tipo_Tarea.UpdateAfterCallBack = True
        '  txt_ruta_respaldo_interfaz.Text = ""
        ' txt_ruta_respaldo_interfaz.Enabled = True
        'txt_ruta_respaldo_interfaz.UpdateAfterCallBack = True
        cmb_TipoAgendamiento.SelectedIndex = -1
        cmb_TipoAgendamiento.Enabled = True
        cmb_TipoAgendamiento.UpdateAfterCallBack = True
        txt_dll_tarea.Text = ""
        txt_dll_tarea.Enabled = True
        txt_dll_tarea.UpdateAfterCallBack = True
        txt_clase_tarea.Text = ""
        txt_clase_tarea.Enabled = True
        txt_clase_tarea.UpdateAfterCallBack = True
        txt_metodo_tarea.Text = ""
        txt_metodo_tarea.Enabled = True
        txt_metodo_tarea.UpdateAfterCallBack = True

        Panel1.Visible = False
        Panel1.UpdateAfterCallBack = True
        Panel3.Visible = False
        Panel3.UpdateAfterCallBack = True
        Panel4.Visible = False
        Panel4.UpdateAfterCallBack = True
        Panel5.Visible = False
        Panel5.UpdateAfterCallBack = True
        Panel6.Visible = False
        Panel6.UpdateAfterCallBack = True
    End Sub


End Class